rm(list=ls())
# install.packages("choroplethrMaps")
library(shiny)
library(ggplot2)
library(plotly)
library(tidyr)
library(dplyr)
library(countrycode)
library(choroplethr)
library(readr)
global_temp <-
read.csv(
"./tim/GlobalTemperatures.csv",
header = TRUE,
stringsAsFactors = FALSE,
check.names = FALSE
)
yearly_co2 <-
read.csv(
"./data/yearly_co2_emissions_1000_tonnes.csv",
header = TRUE,
stringsAsFactors = FALSE,
check.names = FALSE
)
global_temp <- select(global_temp, -c("LandAverageTemperatureUncertainty", "LandMaxTemperature",
"LandMaxTemperatureUncertainty", "LandMinTemperature",
"LandMinTemperatureUncertainty", "LandAndOceanAverageTemperature",
"LandAndOceanAverageTemperatureUncertainty"))
#head(global_temp)
global_temp <- within(global_temp,
date <- ifelse(!is.na(as.Date(global_temp$dt, "%Y-%m-%d")),
as.character(as.Date(global_temp$dt, "%Y-%m-%d")),
as.character(as.Date(global_temp$dt, "%m/%d/%Y"))))
#head(global_temp)
global_temp <- na.omit(global_temp)
global_temp_year <- global_temp %>%
mutate(year = substring(date, 1, 4)) %>%
group_by(year, LandAverageTemperature)
drop <- c("dt")
global_temp_year <- global_temp_year[!(names(global_temp_year) %in% drop)]
global_temp_year <- aggregate(global_temp_year$LandAverageTemperature,
by=list(year=global_temp_year$year),
FUN=mean, na.action = na.omit)
global_temp_year <- global_temp_year %>%
mutate(LandAverageTemperature = x * 1.8 + 32)
drop <- c("x")
global_temp_year <- global_temp_year[!(names(global_temp_year) %in% drop)]
global_temp_year <- global_temp_year %>%
filter(year >= 1850)
yearly_co2$continent <- countrycode(sourcevar = yearly_co2[, "country"],
origin = "country.name",
destination = "continent")
df_co2 <- yearly_co2 %>%
pivot_longer(c('1850':'2012'), names_to = "year",
values_to = "co2_emissions") %>%
select(country, continent, year, co2_emissions)
df_co2 <- na.omit(df_co2, cols=c("co2_emissions"))
global_co2 <- aggregate(df_co2$co2_emissions,
by=list(year=df_co2$year),
FUN=sum)
global_co2 <- global_co2 %>% mutate(co2_emissions = x)
drop <- c("x")
global_co2 <- global_co2[!(names(global_co2) %in% drop)]
global_temp_year
global_co2
co2_temp <- merge(global_temp_year, global_co2, by="year", all=TRUE)
co2_temp
gg <- ggplot(co2_temp,
aes(x=co2_emissions, y = LandAverageTemperature)) +
geom_line() +
geom_point(aes(ids = year)) +
theme(
axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)
)
Ignoring unknown aesthetics: ids
ggplotly(gg)
# + scale_x_discrete(breaks=seq(1850, 2015, 10))
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCnJtKGxpc3Q9bHMoKSkNCiMgaW5zdGFsbC5wYWNrYWdlcygiY2hvcm9wbGV0aHJNYXBzIikNCmxpYnJhcnkoc2hpbnkpDQpsaWJyYXJ5KGdncGxvdDIpIA0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KHRpZHlyKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoY291bnRyeWNvZGUpDQpsaWJyYXJ5KGNob3JvcGxldGhyKQ0KbGlicmFyeShyZWFkcikNCmBgYA0KDQpgYGB7cn0NCmdsb2JhbF90ZW1wIDwtIA0KICByZWFkLmNzdigNCiAgICAiLi90aW0vR2xvYmFsVGVtcGVyYXR1cmVzLmNzdiIsIA0KICAgIGhlYWRlciA9IFRSVUUsIA0KICAgIHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSwNCiAgICBjaGVjay5uYW1lcyA9IEZBTFNFDQogICkNCg0KeWVhcmx5X2NvMiA8LQ0KICByZWFkLmNzdigNCiAgICAiLi9kYXRhL3llYXJseV9jbzJfZW1pc3Npb25zXzEwMDBfdG9ubmVzLmNzdiIsDQogICAgaGVhZGVyID0gVFJVRSwNCiAgICBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UsDQogICAgY2hlY2submFtZXMgPSBGQUxTRQ0KICApDQpgYGANCg0KYGBge3J9DQpnbG9iYWxfdGVtcCA8LSBzZWxlY3QoZ2xvYmFsX3RlbXAsIC1jKCJMYW5kQXZlcmFnZVRlbXBlcmF0dXJlVW5jZXJ0YWludHkiLCAiTGFuZE1heFRlbXBlcmF0dXJlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkxhbmRNYXhUZW1wZXJhdHVyZVVuY2VydGFpbnR5IiwgIkxhbmRNaW5UZW1wZXJhdHVyZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICJMYW5kTWluVGVtcGVyYXR1cmVVbmNlcnRhaW50eSIsICJMYW5kQW5kT2NlYW5BdmVyYWdlVGVtcGVyYXR1cmUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICJMYW5kQW5kT2NlYW5BdmVyYWdlVGVtcGVyYXR1cmVVbmNlcnRhaW50eSIpKQ0KI2hlYWQoZ2xvYmFsX3RlbXApDQpnbG9iYWxfdGVtcCA8LSB3aXRoaW4oZ2xvYmFsX3RlbXAsDQogICAgICAgICAgICAgICAgICAgIGRhdGUgPC0gaWZlbHNlKCFpcy5uYShhcy5EYXRlKGdsb2JhbF90ZW1wJGR0LCAiJVktJW0tJWQiKSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzLmNoYXJhY3Rlcihhcy5EYXRlKGdsb2JhbF90ZW1wJGR0LCAiJVktJW0tJWQiKSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzLmNoYXJhY3Rlcihhcy5EYXRlKGdsb2JhbF90ZW1wJGR0LCAiJW0vJWQvJVkiKSkpKSANCiNoZWFkKGdsb2JhbF90ZW1wKQ0KZ2xvYmFsX3RlbXAgPC0gbmEub21pdChnbG9iYWxfdGVtcCkNCg0KZ2xvYmFsX3RlbXBfeWVhciA8LSBnbG9iYWxfdGVtcCAlPiUNCiAgbXV0YXRlKHllYXIgPSBzdWJzdHJpbmcoZGF0ZSwgMSwgNCkpICU+JQ0KICBncm91cF9ieSh5ZWFyLCBMYW5kQXZlcmFnZVRlbXBlcmF0dXJlKQ0KDQpkcm9wIDwtIGMoImR0IikNCmdsb2JhbF90ZW1wX3llYXIgPC0gZ2xvYmFsX3RlbXBfeWVhclshKG5hbWVzKGdsb2JhbF90ZW1wX3llYXIpICVpbiUgZHJvcCldDQpnbG9iYWxfdGVtcF95ZWFyIDwtIGFnZ3JlZ2F0ZShnbG9iYWxfdGVtcF95ZWFyJExhbmRBdmVyYWdlVGVtcGVyYXR1cmUsIA0KICAgICAgICAgICAgICAgICAgICAgYnk9bGlzdCh5ZWFyPWdsb2JhbF90ZW1wX3llYXIkeWVhciksIA0KICAgICAgICAgICAgICAgICAgICAgRlVOPW1lYW4sIG5hLmFjdGlvbiA9IG5hLm9taXQpDQpnbG9iYWxfdGVtcF95ZWFyIDwtIGdsb2JhbF90ZW1wX3llYXIgJT4lDQogIG11dGF0ZShMYW5kQXZlcmFnZVRlbXBlcmF0dXJlID0geCAqIDEuOCArIDMyKQ0KDQoNCmRyb3AgPC0gYygieCIpDQpnbG9iYWxfdGVtcF95ZWFyIDwtIGdsb2JhbF90ZW1wX3llYXJbIShuYW1lcyhnbG9iYWxfdGVtcF95ZWFyKSAlaW4lIGRyb3ApXQ0KZ2xvYmFsX3RlbXBfeWVhciA8LSBnbG9iYWxfdGVtcF95ZWFyICU+JQ0KICBmaWx0ZXIoeWVhciA+PSAxODUwKQ0KYGBgDQoNCmBgYHtyfQ0KeWVhcmx5X2NvMiRjb250aW5lbnQgPC0gY291bnRyeWNvZGUoc291cmNldmFyID0geWVhcmx5X2NvMlssICJjb3VudHJ5Il0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW4gPSAiY291bnRyeS5uYW1lIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uID0gImNvbnRpbmVudCIpDQpkZl9jbzIgPC0geWVhcmx5X2NvMiAlPiUNCiAgcGl2b3RfbG9uZ2VyKGMoJzE4NTAnOicyMDEyJyksIG5hbWVzX3RvID0gInllYXIiLCANCiAgICAgICAgICAgICAgIHZhbHVlc190byA9ICJjbzJfZW1pc3Npb25zIikgJT4lDQogIHNlbGVjdChjb3VudHJ5LCBjb250aW5lbnQsIHllYXIsIGNvMl9lbWlzc2lvbnMpDQpkZl9jbzIgPC0gbmEub21pdChkZl9jbzIsIGNvbHM9YygiY28yX2VtaXNzaW9ucyIpKQ0KDQpnbG9iYWxfY28yIDwtIGFnZ3JlZ2F0ZShkZl9jbzIkY28yX2VtaXNzaW9ucywgDQogICAgICAgICAgICAgICAgICAgICBieT1saXN0KHllYXI9ZGZfY28yJHllYXIpLCANCiAgICAgICAgICAgICAgICAgICAgIEZVTj1zdW0pDQpnbG9iYWxfY28yIDwtIGdsb2JhbF9jbzIgJT4lIG11dGF0ZShjbzJfZW1pc3Npb25zID0geCkNCmRyb3AgPC0gYygieCIpDQpnbG9iYWxfY28yIDwtIGdsb2JhbF9jbzJbIShuYW1lcyhnbG9iYWxfY28yKSAlaW4lIGRyb3ApXQ0KYGBgDQoNCmBgYHtyfQ0KZ2xvYmFsX3RlbXBfeWVhcg0KZ2xvYmFsX2NvMg0KYGBgDQoNCmBgYHtyfQ0KY28yX3RlbXAgPC0gbWVyZ2UoZ2xvYmFsX3RlbXBfeWVhciwgZ2xvYmFsX2NvMiwgYnk9InllYXIiLCBhbGw9VFJVRSkNCmNvMl90ZW1wDQpgYGANCg0KYGBge3J9DQpnZyA8LSBnZ3Bsb3QoY28yX3RlbXAsIA0KICAgICAgIGFlcyh4PWNvMl9lbWlzc2lvbnMsIHkgPSBMYW5kQXZlcmFnZVRlbXBlcmF0dXJlKSkgKw0KICAgICAgIGdlb21fbGluZSgpICsgDQogICAgICAgZ2VvbV9wb2ludChhZXMoaWRzID0geWVhcikpICsgDQogICAgICAgdGhlbWUoDQogICAgICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gOTAsIGhqdXN0ID0gMSwgdmp1c3QgPSAwLjUpDQogICAgICAgKSANCmdncGxvdGx5KGdnKQ0KYGBgDQo=